package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc SetTopAndBasicTargetCycleValueComReqDto
 * @使用场景
 */
@Data
public class SetTopAndBasicTargetCycleValueComReqDto
  extends BaseDto
  implements Serializable {

  @ApiModelProperty("目标周期目标值列表")
  private List<TargetCycleTargeValuetDto> targetCycleTargeValuetList = new ArrayList<>();

  /**
   * 指标扩展规划设置ID
   */
  @NotNull(message = "指标扩展规划设置ID不能为空")
  @ApiModelProperty("指标扩展规划设置ID")
  private String objectivePlanningExtendId;

  /**
   * 起始值
   */
  @ApiModelProperty("起始值")
  private Double targetStartValue;

  /**
   * 目标周期分工是否相同 TRUE:是 FALSE:否
   */
  @ApiModelProperty("目标周期分工是否相同")
  private String targetPeriodDivisionSame;

  /**
   * 指标ID
   */
  @NotNull(message = "指标ID不能为空")
  @ApiModelProperty("指标ID")
  private String objectiveId;

  /**
   * 冗余目标ID
   */
  @NotNull(message = "冗余目标ID不能为空")
  @ApiModelProperty("冗余目标ID")
  private String targetId;

  /**
   * 冗余评价模板ID
   */
  @NotNull(message = "冗余评价模板ID不能为空")
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 用途类型编码
   */
  @NotNull(message = "用途类型编码不能为空")
  @ApiModelProperty("用途类型编码")
  private String useTypeCode;

}
